Modern software development is evolving away from the client-server model toward network-based processing systems that provide access to data and services via the Internet or other networks. In contrast to traditional systems that host networked applications on dedicated server hardware, a “cloud” computing model allows applications to be provided over the network “as a service” supplied by an infrastructure provider. The infrastructure provider typically abstracts the underlying hardware and other resources used to deliver a customer-developed application so that the customer no longer needs to operate and support dedicated server hardware. The cloud computing model can often provide substantial cost savings to the customer over the life of the application because the customer no longer needs to provide dedicated network infrastructure, electrical and temperature controls, physical security and other logistics in support of dedicated server hardware.
A customer relationship management (CRM) system is one example of an application that is suitable for deployment as a cloud-based service. A business, company, or entity using such a CRM system might be concerned about access to the CRM data maintained by the CRM system, even by users who have proper authentication credentials for the CRM system. For example, it may be desirable to monitor user behavior patterns and trends associated with certain data access events to predict and respond to abusive, fraudulent, or unauthorized access to data.